\bibliographystyle{gbt7714-2005}

\chapter{R语言概述}

随着互联网的快速发展，各个行业都积累了海量的数据，这些数据中蕴含着宝贵的线索和知识，如何分析这些数据，使之为人们所用，已成为有着广泛需求的问题。一般来说，数据分析是一个获取数据、清理数据、统计分析及解释发现的过程，详见图\ref{fig:数据分析流程}：
\begin{figure}[htbp]
\centering
\includegraphics[width=120mm]{Raw/theFlowOfDataAnalysis.png}
\caption{数据分析流程}
\label{fig:数据分析流程}
\end{figure}

R语言不同于其他软件，能在数据分析的全程中灵活发挥作用，因而在竞争激烈的统计分析工具中受到人们的青睐。

\section{R语言介绍} % (fold)
\label{sec:r语言介绍}
R是一套完整的数据处理、统计分析和绘制图形的软件系统。与其说R是一个统计软件，还不如说R是一种统计计算的环境。R语言提供了大量的统计程序，使用者只需提供数据和必要的参数，便可进行简单或者复杂的统计分析。R语言的思想是，它提供一些集成的统计工具，还提供了各种统计计算函数，从而使得使用者能够灵活地进行数据分析，甚至创造出符合需要的新的统计计算方法。

\subsection{R语言简史} % (fold)
\label{sub:r语言简史}
 R之所以被称为“R”，其实是一个互联网式的幽默。Bechker和Chambers在20世纪80年代早期为他们新发明的语言起名为S。这种语言后来发展成一个商用的版本S-PLUS，并被世界范围的统计学家广为使用。新西兰奥克兰大学的Ross Ihaka和Robert Gentleman为了教学需要，写了一个S的简化版。这两位先生的名字都以R开头，好吧，他们的这个统计编程语言就叫R了。

 在1995年，Ross和Robert按照GPL规则公开了R语言的源代码，这与当时风行一时的Linux系统开源运动不谋而合。R很快给那些需要在Linux上进行统计计算的人带去了福音，而这些使用者当中，又有高手不断贡献内容，R语言逐渐从小众工具慢慢渗透到主流用户之中。

 随着R的发展，R已经实现了从学界到业界的跨越，而且势头越来越猛，可以预见的是，R的应用场景将日益广阔。而这一切，得益于R的开源。
 \subsection{R语言特点} % (fold)
 \label{sub:r语言特点}
 R语言是一个数据操作、计算和可视化的工具整合包，相对于其他统计软件，其特色在于：
 \begin{enumerate}
   \item 有效的数据处理和保存机制。
   \item 一系列连贯而完整的数据分析中间工具。
   \item 一种完善、简洁和高效的程序设计语言。
   \item R语言具有丰富的统计方法，大多数人使用R语言是因为其强大的统计功能。
   \item R语言是开源免费软件。这意味着一些志愿者会提供针对特定行业需求的扩展包。
   \item R语言的学习资源非常丰富，在线文档齐全。
 \end{enumerate}

\section{R下载与安装} % (fold)
\label{sec:r下载与安装}
R提供了主要平台（Linux、Mac OS X、Windows）的发行版本，用户可从\href{https://www.r-project.org/}{官方网站}或者镜像站点下载其最新版本。镜像站点有很多，中国有清华大学、兰州大学、中国科技大学和厦门大学提供的镜像站点。你可以选择离你最近的站点，从而加快下载速度。

目前R最新的版本是3.3.2。在windows系统安装R后，在开始菜单中就可找到R的图标。
\subsection{RStudio 的下载与安装} % (fold)
\label{sub:r_studio_的下载与安装}

\subsection{扩展包的安装} % (fold)
\label{ssub:扩展包的安装}

\subsection{R界面介绍} % (fold)
\label{ssub:r界面介绍}
R启动后，首先看到的是R的控制台（R Console），R的主要命令都在这里执行。

\begin{figure}
\centering
\includegraphics[width=120mm]{Raw/R-Console.png}
\caption{R控制台}
\label{fig:R-Console}
\end{figure}

在控制台中，我们可以交互式地使用R，即键入相应内容，控制台会给出对应内容。
\subsubsection{一个简单的例子} % (fold)
\label{ssub:一个简单的例子}


\section{学习资源} % (fold)
\label{sec:学习资源}
\subsection{R语言的帮助系统} % (fold)
\label{sub:r语言的帮助系统}
R语言提供了强大的内置帮助系统，例如为了知道平均数函数mean的用法，可以使用如下命令：

\begin{lstlisting}
>help(mean)
\end{lstlisting}

除此之外，我们还可以使用example来获得范例：

\begin{lstlisting}
>example(mean)
\end{lstlisting}

\subsection{在线学习资源} % (fold)
\label{sub:在线学习资源}
\begin{enumerate}
  \item \href{https://cran.r-project.org/doc/manuals/R-intro.pdf}{An Introduction to R} R语言官方介绍
  \item \href{https://cran.r-project.org/doc/manuals/r-release/R-lang.pdf}{R Language Definition} R语言官方语法手册
  \item \href{http://vdisk.weibo.com/s/zEXRWUxCH27GY}{R语言与统计分析}
  \item \href{http://www.imooc.com/search/course?words=r}{慕课网R语言视频教程}
  \item \href{http://tryr.codeschool.com/}{非常棒的R入门交互教程}
\end{enumerate}
% subsection 在线学习资源 (end)
\bibliography{../bib/yangjh}
